package com.atguigu.day06.test;/*
方法的作用: 对功能进行封装实现代码的复用
声明方法的语法:
        修饰符    返回值类型   方法名([形参列表]){}
     public static void     main(String[]args){
         方法的内容
     }
   形参列表: 扩展了方法的功能
       形参: 规定了实参的数量和类型
       实参: 实际传递的值
   返回值类型:
      void:  当前方法没有返回值
    数据类型: 当前方法必须返回一个满足类型要求的值
   注意:
      1.方法需要调用才会执行  方法名();
      2.方法与方法是兄弟关系
      3.带返回值方法 必须要有一个兜底的值
      4.方法执行结束  回到方法调用处
             带返回值方法   回到方法调用位置
             不带返回值方法 回到方法调用位置的下一行
方法的重载: 使用相同的方法名 表示不同实现细节的方法
     条件: 两同一不同
             两同: 同一类中同一方法名
             不同:不同的形参列表
                        数量 顺序 类型

    注意:
       1.虽然方法的名字相同但是jvm 会自动根据实参调用对应的方法



 */

import java.util.Arrays;

class MethodOverload2{
    public static void main(String[] args) {

        System.out.println(666);
        System.out.println(3.14);
        System.out.println('A');
        System.out.println(true);
        System.out.println("你好世界");

        int[]arr = {10,20,30};
        double[]dArr = {3.14,6.28};

        Arrays.toString(arr);
        Arrays.toString(dArr);

    }
}

public class MethodOverload {
    public static void main(String[] args) {

        getSum(10,20);
        getSum(10,20,30);
        getSum(10,3.14);
        getSum(10.3,3);
    }

    public  static void getSum(double d,int i){
        System.out.println("double + int ");
    }
    private static void getSum(int i, double v) {
        System.out.println("int + double ");
    }
    private static void getSum(int i, int i1, int i2) {
        System.out.println("int + int + int");
    }
    private static void getSum(int i, int i1) {
        System.out.println("int + int");
    }



}
